// Generated from D:/JAVA-PJ/bigdata-component/bigdata-ddl/src/main/java/parser_antlr4/oceanbase_mysql/antlr4/OBMySQLParser.g4 by ANTLR 4.13.1
package parser_antlr4.oceanbase_mysql.antlr4;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link OBMySQLParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface OBMySQLParserVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sql_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSql_stmt(OBMySQLParser.Sql_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#stmt_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStmt_list(OBMySQLParser.Stmt_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStmt(OBMySQLParser.StmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#pl_expr_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPl_expr_stmt(OBMySQLParser.Pl_expr_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#switchover_tenant_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSwitchover_tenant_stmt(OBMySQLParser.Switchover_tenant_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#switchover_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSwitchover_clause(OBMySQLParser.Switchover_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#recover_tenant_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRecover_tenant_stmt(OBMySQLParser.Recover_tenant_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#recover_point_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRecover_point_clause(OBMySQLParser.Recover_point_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#transfer_partition_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTransfer_partition_stmt(OBMySQLParser.Transfer_partition_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#transfer_partition_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTransfer_partition_clause(OBMySQLParser.Transfer_partition_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#part_info}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPart_info(OBMySQLParser.Part_infoContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cancel_transfer_partition_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCancel_transfer_partition_clause(OBMySQLParser.Cancel_transfer_partition_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#expr_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpr_list(OBMySQLParser.Expr_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#expr_as_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpr_as_list(OBMySQLParser.Expr_as_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#expr_with_opt_alias}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpr_with_opt_alias(OBMySQLParser.Expr_with_opt_aliasContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_ref}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_ref(OBMySQLParser.Column_refContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#complex_string_literal}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitComplex_string_literal(OBMySQLParser.Complex_string_literalContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#charset_introducer}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCharset_introducer(OBMySQLParser.Charset_introducerContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#literal}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLiteral(OBMySQLParser.LiteralContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#number_literal}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNumber_literal(OBMySQLParser.Number_literalContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#expr_const}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpr_const(OBMySQLParser.Expr_constContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#conf_const}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConf_const(OBMySQLParser.Conf_constContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#global_or_session_alias}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGlobal_or_session_alias(OBMySQLParser.Global_or_session_aliasContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#bool_pri}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBool_pri(OBMySQLParser.Bool_priContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#predicate}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPredicate(OBMySQLParser.PredicateContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#string_val_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitString_val_list(OBMySQLParser.String_val_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#bit_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBit_expr(OBMySQLParser.Bit_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#simple_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSimple_expr(OBMySQLParser.Simple_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpr(OBMySQLParser.ExprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#not}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNot(OBMySQLParser.NotContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#any_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAny_expr(OBMySQLParser.Any_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#in_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIn_expr(OBMySQLParser.In_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#case_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCase_expr(OBMySQLParser.Case_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#window_function}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWindow_function(OBMySQLParser.Window_functionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#first_or_last}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFirst_or_last(OBMySQLParser.First_or_lastContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#respect_or_ignore}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRespect_or_ignore(OBMySQLParser.Respect_or_ignoreContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#win_fun_first_last_params}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWin_fun_first_last_params(OBMySQLParser.Win_fun_first_last_paramsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#new_generalized_window_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNew_generalized_window_clause(OBMySQLParser.New_generalized_window_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#new_generalized_window_clause_with_blanket}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNew_generalized_window_clause_with_blanket(OBMySQLParser.New_generalized_window_clause_with_blanketContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#named_windows}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNamed_windows(OBMySQLParser.Named_windowsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#named_window}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNamed_window(OBMySQLParser.Named_windowContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#generalized_window_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGeneralized_window_clause(OBMySQLParser.Generalized_window_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#win_rows_or_range}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWin_rows_or_range(OBMySQLParser.Win_rows_or_rangeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#win_preceding_or_following}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWin_preceding_or_following(OBMySQLParser.Win_preceding_or_followingContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#win_interval}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWin_interval(OBMySQLParser.Win_intervalContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#win_bounding}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWin_bounding(OBMySQLParser.Win_boundingContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#win_window}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWin_window(OBMySQLParser.Win_windowContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#when_clause_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWhen_clause_list(OBMySQLParser.When_clause_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#when_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWhen_clause(OBMySQLParser.When_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#case_default}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCase_default(OBMySQLParser.Case_defaultContext ctx);
	/**
	 * Visit a parse tree produced by the {@code simple_func_expr}
	 * labeled alternative in {@link OBMySQLParser#func_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSimple_func_expr(OBMySQLParser.Simple_func_exprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code complex_func_expr}
	 * labeled alternative in {@link OBMySQLParser#func_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitComplex_func_expr(OBMySQLParser.Complex_func_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#vector_distance_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVector_distance_expr(OBMySQLParser.Vector_distance_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#vector_distance_metric}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVector_distance_metric(OBMySQLParser.Vector_distance_metricContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mvt_param}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMvt_param(OBMySQLParser.Mvt_paramContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sys_interval_func}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSys_interval_func(OBMySQLParser.Sys_interval_funcContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#utc_timestamp_func}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUtc_timestamp_func(OBMySQLParser.Utc_timestamp_funcContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#utc_time_func}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUtc_time_func(OBMySQLParser.Utc_time_funcContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#utc_date_func}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUtc_date_func(OBMySQLParser.Utc_date_funcContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sysdate_func}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSysdate_func(OBMySQLParser.Sysdate_funcContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cur_timestamp_func}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCur_timestamp_func(OBMySQLParser.Cur_timestamp_funcContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#now_synonyms_func}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNow_synonyms_func(OBMySQLParser.Now_synonyms_funcContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cur_time_func}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCur_time_func(OBMySQLParser.Cur_time_funcContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cur_date_func}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCur_date_func(OBMySQLParser.Cur_date_funcContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#substr_or_substring}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSubstr_or_substring(OBMySQLParser.Substr_or_substringContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#substr_params}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSubstr_params(OBMySQLParser.Substr_paramsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#date_params}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDate_params(OBMySQLParser.Date_paramsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#timestamp_params}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTimestamp_params(OBMySQLParser.Timestamp_paramsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ws_level_list_or_range}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWs_level_list_or_range(OBMySQLParser.Ws_level_list_or_rangeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ws_level_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWs_level_list(OBMySQLParser.Ws_level_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ws_level_list_item}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWs_level_list_item(OBMySQLParser.Ws_level_list_itemContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ws_level_range}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWs_level_range(OBMySQLParser.Ws_level_rangeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ws_level_number}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWs_level_number(OBMySQLParser.Ws_level_numberContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ws_level_flags}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWs_level_flags(OBMySQLParser.Ws_level_flagsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ws_nweights}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWs_nweights(OBMySQLParser.Ws_nweightsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ws_level_flag_desc}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWs_level_flag_desc(OBMySQLParser.Ws_level_flag_descContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ws_level_flag_reverse}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWs_level_flag_reverse(OBMySQLParser.Ws_level_flag_reverseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#delete_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDelete_stmt(OBMySQLParser.Delete_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#delete_basic_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDelete_basic_stmt(OBMySQLParser.Delete_basic_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#delete_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDelete_option_list(OBMySQLParser.Delete_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#delete_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDelete_option(OBMySQLParser.Delete_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#multi_delete_table}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMulti_delete_table(OBMySQLParser.Multi_delete_tableContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#update_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUpdate_stmt(OBMySQLParser.Update_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#update_basic_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUpdate_basic_stmt(OBMySQLParser.Update_basic_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#update_asgn_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUpdate_asgn_list(OBMySQLParser.Update_asgn_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#update_asgn_factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUpdate_asgn_factor(OBMySQLParser.Update_asgn_factorContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_resource_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_resource_stmt(OBMySQLParser.Create_resource_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_resource_unit_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_resource_unit_option_list(OBMySQLParser.Opt_resource_unit_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#resource_unit_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitResource_unit_option(OBMySQLParser.Resource_unit_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_create_resource_pool_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_create_resource_pool_option_list(OBMySQLParser.Opt_create_resource_pool_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_resource_pool_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_resource_pool_option(OBMySQLParser.Create_resource_pool_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_resource_pool_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_resource_pool_option_list(OBMySQLParser.Alter_resource_pool_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#unit_id_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnit_id_list(OBMySQLParser.Unit_id_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#id_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitId_list(OBMySQLParser.Id_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_resource_pool_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_resource_pool_option(OBMySQLParser.Alter_resource_pool_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_resource_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_resource_stmt(OBMySQLParser.Alter_resource_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_resource_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_resource_stmt(OBMySQLParser.Drop_resource_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_tenant_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_tenant_stmt(OBMySQLParser.Create_tenant_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_standby_tenant_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_standby_tenant_stmt(OBMySQLParser.Create_standby_tenant_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#log_restore_source_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLog_restore_source_option(OBMySQLParser.Log_restore_source_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_tenant_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_tenant_option_list(OBMySQLParser.Opt_tenant_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tenant_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTenant_option(OBMySQLParser.Tenant_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#zone_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitZone_list(OBMySQLParser.Zone_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#resource_pool_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitResource_pool_list(OBMySQLParser.Resource_pool_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_tenant_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_tenant_stmt(OBMySQLParser.Alter_tenant_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_tenant_snapshot_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_tenant_snapshot_stmt(OBMySQLParser.Create_tenant_snapshot_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#snapshot_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSnapshot_name(OBMySQLParser.Snapshot_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_tenant_snapshot_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_tenant_snapshot_stmt(OBMySQLParser.Drop_tenant_snapshot_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#clone_tenant_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClone_tenant_stmt(OBMySQLParser.Clone_tenant_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#clone_snapshot_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClone_snapshot_option(OBMySQLParser.Clone_snapshot_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#clone_tenant_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClone_tenant_option(OBMySQLParser.Clone_tenant_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#clone_tenant_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClone_tenant_option_list(OBMySQLParser.Clone_tenant_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_tenant_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_tenant_stmt(OBMySQLParser.Drop_tenant_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_restore_point_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_restore_point_stmt(OBMySQLParser.Create_restore_point_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_restore_point_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_restore_point_stmt(OBMySQLParser.Drop_restore_point_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_database_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_database_stmt(OBMySQLParser.Create_database_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#database_key}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDatabase_key(OBMySQLParser.Database_keyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#database_factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDatabase_factor(OBMySQLParser.Database_factorContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#database_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDatabase_option_list(OBMySQLParser.Database_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#databases_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDatabases_expr(OBMySQLParser.Databases_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#charset_key}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCharset_key(OBMySQLParser.Charset_keyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#database_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDatabase_option(OBMySQLParser.Database_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#read_only_or_write}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRead_only_or_write(OBMySQLParser.Read_only_or_writeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_database_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_database_stmt(OBMySQLParser.Drop_database_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_database_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_database_stmt(OBMySQLParser.Alter_database_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#load_data_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLoad_data_stmt(OBMySQLParser.Load_data_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#load_data_with_opt_hint}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLoad_data_with_opt_hint(OBMySQLParser.Load_data_with_opt_hintContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#compression_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCompression_name(OBMySQLParser.Compression_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lines_or_rows}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLines_or_rows(OBMySQLParser.Lines_or_rowsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#field_or_vars_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitField_or_vars_list(OBMySQLParser.Field_or_vars_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#field_or_vars}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitField_or_vars(OBMySQLParser.Field_or_varsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#load_set_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLoad_set_list(OBMySQLParser.Load_set_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#load_set_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLoad_set_element(OBMySQLParser.Load_set_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#load_data_extended_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLoad_data_extended_option_list(OBMySQLParser.Load_data_extended_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#load_data_extended_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLoad_data_extended_option(OBMySQLParser.Load_data_extended_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#use_database_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUse_database_stmt(OBMySQLParser.Use_database_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#special_table_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSpecial_table_type(OBMySQLParser.Special_table_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_table_like_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_table_like_stmt(OBMySQLParser.Create_table_like_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_table_stmt_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_table_stmt_list(OBMySQLParser.Create_table_stmt_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_table_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_table_stmt(OBMySQLParser.Create_table_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ignore_or_replace}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIgnore_or_replace(OBMySQLParser.Ignore_or_replaceContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ret_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRet_type(OBMySQLParser.Ret_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_function_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_function_stmt(OBMySQLParser.Create_function_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_function_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_function_stmt(OBMySQLParser.Drop_function_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_procedure_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_procedure_stmt(OBMySQLParser.Drop_procedure_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_trigger_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_trigger_stmt(OBMySQLParser.Drop_trigger_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_element_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_element_list(OBMySQLParser.Table_element_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_element(OBMySQLParser.Table_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#out_of_line_constraint}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOut_of_line_constraint(OBMySQLParser.Out_of_line_constraintContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#references_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReferences_clause(OBMySQLParser.References_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#out_of_line_index}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOut_of_line_index(OBMySQLParser.Out_of_line_indexContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#out_of_line_primary_index}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOut_of_line_primary_index(OBMySQLParser.Out_of_line_primary_indexContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#out_of_line_unique_index}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOut_of_line_unique_index(OBMySQLParser.Out_of_line_unique_indexContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_reference_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_reference_option_list(OBMySQLParser.Opt_reference_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#reference_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReference_option(OBMySQLParser.Reference_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#reference_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReference_action(OBMySQLParser.Reference_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#match_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMatch_action(OBMySQLParser.Match_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_definition}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_definition(OBMySQLParser.Column_definitionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_generated_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_generated_option_list(OBMySQLParser.Opt_generated_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_generated_column_attribute_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_generated_column_attribute_list(OBMySQLParser.Opt_generated_column_attribute_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#generated_column_attribute}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGenerated_column_attribute(OBMySQLParser.Generated_column_attributeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_definition_ref}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_definition_ref(OBMySQLParser.Column_definition_refContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_definition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_definition_list(OBMySQLParser.Column_definition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cast_data_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCast_data_type(OBMySQLParser.Cast_data_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#get_format_unit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGet_format_unit(OBMySQLParser.Get_format_unitContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#precision_int_num}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrecision_int_num(OBMySQLParser.Precision_int_numContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#precision_decimal_num}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrecision_decimal_num(OBMySQLParser.Precision_decimal_numContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#data_type_precision}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitData_type_precision(OBMySQLParser.Data_type_precisionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#data_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitData_type(OBMySQLParser.Data_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#int_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInt_type(OBMySQLParser.Int_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#float_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFloat_type(OBMySQLParser.Float_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#number_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNumber_type(OBMySQLParser.Number_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#bool_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBool_type(OBMySQLParser.Bool_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#datetime_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDatetime_type(OBMySQLParser.Datetime_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#text_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitText_type(OBMySQLParser.Text_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#character_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCharacter_type(OBMySQLParser.Character_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#blob_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlob_type(OBMySQLParser.Blob_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#bit_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBit_type(OBMySQLParser.Bit_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#string_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitString_list(OBMySQLParser.String_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#text_string}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitText_string(OBMySQLParser.Text_stringContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#collection_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCollection_type_i(OBMySQLParser.Collection_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_type_i(OBMySQLParser.Json_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#roaringbitmap_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRoaringbitmap_type_i(OBMySQLParser.Roaringbitmap_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#vector_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVector_type_i(OBMySQLParser.Vector_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#bit_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBit_type_i(OBMySQLParser.Bit_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#int_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInt_type_i(OBMySQLParser.Int_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#float_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFloat_type_i(OBMySQLParser.Float_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#number_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNumber_type_i(OBMySQLParser.Number_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#text_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitText_type_i(OBMySQLParser.Text_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#character_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCharacter_type_i(OBMySQLParser.Character_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#bool_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBool_type_i(OBMySQLParser.Bool_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#geo_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGeo_type_i(OBMySQLParser.Geo_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#datetime_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDatetime_type_i(OBMySQLParser.Datetime_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#date_year_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDate_year_type_i(OBMySQLParser.Date_year_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#blob_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlob_type_i(OBMySQLParser.Blob_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#binary_type_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBinary_type_i(OBMySQLParser.Binary_type_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#string_length_i}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitString_length_i(OBMySQLParser.String_length_iContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#collation_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCollation_name(OBMySQLParser.Collation_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#trans_param_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTrans_param_name(OBMySQLParser.Trans_param_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#trans_param_value}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTrans_param_value(OBMySQLParser.Trans_param_valueContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#charset_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCharset_name(OBMySQLParser.Charset_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#charset_name_or_default}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCharset_name_or_default(OBMySQLParser.Charset_name_or_defaultContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#collation}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCollation(OBMySQLParser.CollationContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_column_attribute_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_column_attribute_list(OBMySQLParser.Opt_column_attribute_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_attribute}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_attribute(OBMySQLParser.Column_attributeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#now_or_signed_literal}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNow_or_signed_literal(OBMySQLParser.Now_or_signed_literalContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#signed_literal}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigned_literal(OBMySQLParser.Signed_literalContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_comma}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_comma(OBMySQLParser.Opt_commaContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_option_list_space_seperated}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_option_list_space_seperated(OBMySQLParser.Table_option_list_space_seperatedContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_option_list(OBMySQLParser.Table_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#primary_zone_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrimary_zone_name(OBMySQLParser.Primary_zone_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tablespace}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTablespace(OBMySQLParser.TablespaceContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#locality_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLocality_name(OBMySQLParser.Locality_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_option(OBMySQLParser.Table_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#dynamic_partition_policy}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDynamic_partition_policy(OBMySQLParser.Dynamic_partition_policyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#merge_insert_types}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMerge_insert_types(OBMySQLParser.Merge_insert_typesContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#parallel_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParallel_option(OBMySQLParser.Parallel_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ttl_definition}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTtl_definition(OBMySQLParser.Ttl_definitionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ttl_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTtl_expr(OBMySQLParser.Ttl_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ttl_unit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTtl_unit(OBMySQLParser.Ttl_unitContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_name_or_string}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_name_or_string(OBMySQLParser.Relation_name_or_stringContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_equal_mark}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_equal_mark(OBMySQLParser.Opt_equal_markContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPartition_option(OBMySQLParser.Partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#auto_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAuto_partition_option(OBMySQLParser.Auto_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_group_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_group_element(OBMySQLParser.Column_group_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_group_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_group_list(OBMySQLParser.Column_group_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#with_column_group}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWith_column_group(OBMySQLParser.With_column_groupContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#partition_size}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPartition_size(OBMySQLParser.Partition_sizeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#auto_partition_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAuto_partition_type(OBMySQLParser.Auto_partition_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#auto_range_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAuto_range_type(OBMySQLParser.Auto_range_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#hash_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHash_partition_option(OBMySQLParser.Hash_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#list_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitList_partition_option(OBMySQLParser.List_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#key_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitKey_partition_option(OBMySQLParser.Key_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#range_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRange_partition_option(OBMySQLParser.Range_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#partition_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPartition_options(OBMySQLParser.Partition_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#partition_num}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPartition_num(OBMySQLParser.Partition_numContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#aux_column_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAux_column_list(OBMySQLParser.Aux_column_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#vertical_column_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVertical_column_name(OBMySQLParser.Vertical_column_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_name_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_name_list(OBMySQLParser.Column_name_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#subpartition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSubpartition_option(OBMySQLParser.Subpartition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#subpartition_template_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSubpartition_template_option(OBMySQLParser.Subpartition_template_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#subpartition_individual_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSubpartition_individual_option(OBMySQLParser.Subpartition_individual_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_hash_partition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_hash_partition_list(OBMySQLParser.Opt_hash_partition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#hash_partition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHash_partition_list(OBMySQLParser.Hash_partition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#subpartition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSubpartition_list(OBMySQLParser.Subpartition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#hash_partition_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHash_partition_element(OBMySQLParser.Hash_partition_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_range_partition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_range_partition_list(OBMySQLParser.Opt_range_partition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#range_partition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRange_partition_list(OBMySQLParser.Range_partition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#range_partition_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRange_partition_element(OBMySQLParser.Range_partition_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_list_partition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_list_partition_list(OBMySQLParser.Opt_list_partition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#list_partition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitList_partition_list(OBMySQLParser.List_partition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#list_partition_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitList_partition_element(OBMySQLParser.List_partition_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_hash_subpartition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_hash_subpartition_list(OBMySQLParser.Opt_hash_subpartition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#hash_subpartition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHash_subpartition_list(OBMySQLParser.Hash_subpartition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#partition_attributes_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPartition_attributes_option(OBMySQLParser.Partition_attributes_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#hash_subpartition_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHash_subpartition_element(OBMySQLParser.Hash_subpartition_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_range_subpartition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_range_subpartition_list(OBMySQLParser.Opt_range_subpartition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#range_subpartition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRange_subpartition_list(OBMySQLParser.Range_subpartition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#range_subpartition_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRange_subpartition_element(OBMySQLParser.Range_subpartition_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_list_subpartition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_list_subpartition_list(OBMySQLParser.Opt_list_subpartition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#list_subpartition_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitList_subpartition_list(OBMySQLParser.List_subpartition_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#list_subpartition_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitList_subpartition_element(OBMySQLParser.List_subpartition_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#list_partition_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitList_partition_expr(OBMySQLParser.List_partition_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#list_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitList_expr(OBMySQLParser.List_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#range_partition_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRange_partition_expr(OBMySQLParser.Range_partition_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#range_expr_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRange_expr_list(OBMySQLParser.Range_expr_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#range_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRange_expr(OBMySQLParser.Range_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#int_or_decimal}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInt_or_decimal(OBMySQLParser.Int_or_decimalContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_or_heap}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_or_heap(OBMySQLParser.Index_or_heapContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tg_hash_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTg_hash_partition_option(OBMySQLParser.Tg_hash_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tg_key_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTg_key_partition_option(OBMySQLParser.Tg_key_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tg_range_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTg_range_partition_option(OBMySQLParser.Tg_range_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tg_list_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTg_list_partition_option(OBMySQLParser.Tg_list_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tg_subpartition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTg_subpartition_option(OBMySQLParser.Tg_subpartition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tg_subpartition_template_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTg_subpartition_template_option(OBMySQLParser.Tg_subpartition_template_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tg_subpartition_individual_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTg_subpartition_individual_option(OBMySQLParser.Tg_subpartition_individual_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#row_format_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRow_format_option(OBMySQLParser.Row_format_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#parser_index_properties_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParser_index_properties_list(OBMySQLParser.Parser_index_properties_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_properties}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_properties(OBMySQLParser.Index_propertiesContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#external_properties_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExternal_properties_list(OBMySQLParser.External_properties_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#external_properties}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExternal_properties(OBMySQLParser.External_propertiesContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#external_properties_key}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExternal_properties_key(OBMySQLParser.External_properties_keyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#external_file_format_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExternal_file_format_list(OBMySQLParser.External_file_format_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#external_file_format}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExternal_file_format(OBMySQLParser.External_file_formatContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_tablegroup_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_tablegroup_stmt(OBMySQLParser.Create_tablegroup_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_tablegroup_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_tablegroup_stmt(OBMySQLParser.Drop_tablegroup_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_tablegroup_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_tablegroup_stmt(OBMySQLParser.Alter_tablegroup_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tablegroup_option_list_space_seperated}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTablegroup_option_list_space_seperated(OBMySQLParser.Tablegroup_option_list_space_seperatedContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tablegroup_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTablegroup_option_list(OBMySQLParser.Tablegroup_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tablegroup_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTablegroup_option(OBMySQLParser.Tablegroup_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_tablegroup_actions}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_tablegroup_actions(OBMySQLParser.Alter_tablegroup_actionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_tablegroup_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_tablegroup_action(OBMySQLParser.Alter_tablegroup_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#default_tablegroup}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDefault_tablegroup(OBMySQLParser.Default_tablegroupContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_view_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_view_stmt(OBMySQLParser.Create_view_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_mview_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_mview_stmt(OBMySQLParser.Create_mview_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_mview_opts}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_mview_opts(OBMySQLParser.Create_mview_optsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#query_rewrite_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuery_rewrite_clause(OBMySQLParser.Query_rewrite_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#on_query_computation_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOn_query_computation_clause(OBMySQLParser.On_query_computation_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mview_refresh_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMview_refresh_opt(OBMySQLParser.Mview_refresh_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mv_refresh_on_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMv_refresh_on_clause(OBMySQLParser.Mv_refresh_on_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mv_refresh_method}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMv_refresh_method(OBMySQLParser.Mv_refresh_methodContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mv_refresh_mode}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMv_refresh_mode(OBMySQLParser.Mv_refresh_modeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mv_refresh_interval}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMv_refresh_interval(OBMySQLParser.Mv_refresh_intervalContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mv_start_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMv_start_clause(OBMySQLParser.Mv_start_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mv_next_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMv_next_clause(OBMySQLParser.Mv_next_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#view_attribute}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitView_attribute(OBMySQLParser.View_attributeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#view_check_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitView_check_option(OBMySQLParser.View_check_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#view_algorithm}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitView_algorithm(OBMySQLParser.View_algorithmContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#view_select_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitView_select_stmt(OBMySQLParser.View_select_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#view_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitView_name(OBMySQLParser.View_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mv_column_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMv_column_list(OBMySQLParser.Mv_column_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_tablet_id}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_tablet_id(OBMySQLParser.Opt_tablet_idContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_tablet_id_no_empty}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_tablet_id_no_empty(OBMySQLParser.Opt_tablet_id_no_emptyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_index_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_index_stmt(OBMySQLParser.Create_index_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_name(OBMySQLParser.Index_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#check_state}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCheck_state(OBMySQLParser.Check_stateContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_constraint_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_constraint_name(OBMySQLParser.Opt_constraint_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#constraint_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConstraint_name(OBMySQLParser.Constraint_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sort_column_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSort_column_list(OBMySQLParser.Sort_column_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sort_column_key}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSort_column_key(OBMySQLParser.Sort_column_keyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_index_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_index_options(OBMySQLParser.Opt_index_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_option(OBMySQLParser.Index_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_using_algorithm}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_using_algorithm(OBMySQLParser.Index_using_algorithmContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_mlog_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_mlog_stmt(OBMySQLParser.Create_mlog_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_mlog_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_mlog_options(OBMySQLParser.Opt_mlog_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_option(OBMySQLParser.Mlog_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_with_values}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_with_values(OBMySQLParser.Mlog_with_valuesContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_with_special_columns}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_with_special_columns(OBMySQLParser.Mlog_with_special_columnsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_with_special_column_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_with_special_column_list(OBMySQLParser.Mlog_with_special_column_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_with_special_column}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_with_special_column(OBMySQLParser.Mlog_with_special_columnContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_with_reference_columns}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_with_reference_columns(OBMySQLParser.Mlog_with_reference_columnsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_with_reference_column_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_with_reference_column_list(OBMySQLParser.Mlog_with_reference_column_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_with_reference_column}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_with_reference_column(OBMySQLParser.Mlog_with_reference_columnContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_including_or_excluding}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_including_or_excluding(OBMySQLParser.Mlog_including_or_excludingContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_purge_values}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_purge_values(OBMySQLParser.Mlog_purge_valuesContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_purge_immediate_sync_or_async}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_purge_immediate_sync_or_async(OBMySQLParser.Mlog_purge_immediate_sync_or_asyncContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_purge_start}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_purge_start(OBMySQLParser.Mlog_purge_startContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mlog_purge_next}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMlog_purge_next(OBMySQLParser.Mlog_purge_nextContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_mlog_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_mlog_stmt(OBMySQLParser.Drop_mlog_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_table_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_table_stmt(OBMySQLParser.Drop_table_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_or_tables}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_or_tables(OBMySQLParser.Table_or_tablesContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_view_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_view_stmt(OBMySQLParser.Drop_view_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_list(OBMySQLParser.Table_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_index_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_index_stmt(OBMySQLParser.Drop_index_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#insert_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInsert_stmt(OBMySQLParser.Insert_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#single_table_insert}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSingle_table_insert(OBMySQLParser.Single_table_insertContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#values_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitValues_clause(OBMySQLParser.Values_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#value_or_values}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitValue_or_values(OBMySQLParser.Value_or_valuesContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#replace_with_opt_hint}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReplace_with_opt_hint(OBMySQLParser.Replace_with_opt_hintContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#insert_with_opt_hint}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInsert_with_opt_hint(OBMySQLParser.Insert_with_opt_hintContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_list(OBMySQLParser.Column_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#insert_vals_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInsert_vals_list(OBMySQLParser.Insert_vals_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#insert_vals}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInsert_vals(OBMySQLParser.Insert_valsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#expr_or_default}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpr_or_default(OBMySQLParser.Expr_or_defaultContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_stmt(OBMySQLParser.Select_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_with_parens}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_with_parens(OBMySQLParser.Select_with_parensContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_no_parens}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_no_parens(OBMySQLParser.Select_no_parensContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#no_table_select}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNo_table_select(OBMySQLParser.No_table_selectContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_clause(OBMySQLParser.Select_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_clause_set_with_order_and_limit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_clause_set_with_order_and_limit(OBMySQLParser.Select_clause_set_with_order_and_limitContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_clause_set}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_clause_set(OBMySQLParser.Select_clause_setContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_clause_set_right}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_clause_set_right(OBMySQLParser.Select_clause_set_rightContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_clause_set_left}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_clause_set_left(OBMySQLParser.Select_clause_set_leftContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#no_table_select_with_order_and_limit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNo_table_select_with_order_and_limit(OBMySQLParser.No_table_select_with_order_and_limitContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_approx}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_approx(OBMySQLParser.Opt_approxContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#simple_select_with_order_and_limit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSimple_select_with_order_and_limit(OBMySQLParser.Simple_select_with_order_and_limitContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_with_parens_with_order_and_limit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_with_parens_with_order_and_limit(OBMySQLParser.Select_with_parens_with_order_and_limitContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_with_opt_hint}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_with_opt_hint(OBMySQLParser.Select_with_opt_hintContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#update_with_opt_hint}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUpdate_with_opt_hint(OBMySQLParser.Update_with_opt_hintContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#delete_with_opt_hint}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDelete_with_opt_hint(OBMySQLParser.Delete_with_opt_hintContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#simple_select}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSimple_select(OBMySQLParser.Simple_selectContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_type_union}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_type_union(OBMySQLParser.Set_type_unionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_type_other}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_type_other(OBMySQLParser.Set_type_otherContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_type(OBMySQLParser.Set_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_expression_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_expression_option(OBMySQLParser.Set_expression_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_hint_value}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_hint_value(OBMySQLParser.Opt_hint_valueContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#limit_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLimit_clause(OBMySQLParser.Limit_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#into_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInto_clause(OBMySQLParser.Into_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#into_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInto_opt(OBMySQLParser.Into_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#into_var_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInto_var_list(OBMySQLParser.Into_var_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#into_var}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInto_var(OBMySQLParser.Into_varContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#field_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitField_opt(OBMySQLParser.Field_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#field_term_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitField_term_list(OBMySQLParser.Field_term_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#field_term}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitField_term(OBMySQLParser.Field_termContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#file_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFile_opt(OBMySQLParser.File_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#file_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFile_option_list(OBMySQLParser.File_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#file_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFile_option(OBMySQLParser.File_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#file_partition_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFile_partition_opt(OBMySQLParser.File_partition_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#file_size_const}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFile_size_const(OBMySQLParser.File_size_constContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#line_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLine_opt(OBMySQLParser.Line_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#line_term_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLine_term_list(OBMySQLParser.Line_term_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#line_term}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLine_term(OBMySQLParser.Line_termContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#hint_list_with_end}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHint_list_with_end(OBMySQLParser.Hint_list_with_endContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_hint_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_hint_list(OBMySQLParser.Opt_hint_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#hint_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHint_options(OBMySQLParser.Hint_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#name_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitName_list(OBMySQLParser.Name_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#hint_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHint_option(OBMySQLParser.Hint_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#consistency_level}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConsistency_level(OBMySQLParser.Consistency_levelContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#use_plan_cache_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUse_plan_cache_type(OBMySQLParser.Use_plan_cache_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#use_jit_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUse_jit_type(OBMySQLParser.Use_jit_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#distribute_method}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDistribute_method(OBMySQLParser.Distribute_methodContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#limit_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLimit_expr(OBMySQLParser.Limit_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#for_update_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFor_update_clause(OBMySQLParser.For_update_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_lock_in_share_mode}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_lock_in_share_mode(OBMySQLParser.Opt_lock_in_share_modeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_for_update_wait}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_for_update_wait(OBMySQLParser.Opt_for_update_waitContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#parameterized_trim}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParameterized_trim(OBMySQLParser.Parameterized_trimContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#groupby_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGroupby_clause(OBMySQLParser.Groupby_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sort_list_for_group_by}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSort_list_for_group_by(OBMySQLParser.Sort_list_for_group_byContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sort_key_for_group_by}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSort_key_for_group_by(OBMySQLParser.Sort_key_for_group_byContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#order_by}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOrder_by(OBMySQLParser.Order_byContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sort_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSort_list(OBMySQLParser.Sort_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sort_key}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSort_key(OBMySQLParser.Sort_keyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#query_expression_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuery_expression_option_list(OBMySQLParser.Query_expression_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#query_expression_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuery_expression_option(OBMySQLParser.Query_expression_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#projection}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProjection(OBMySQLParser.ProjectionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#select_expr_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect_expr_list(OBMySQLParser.Select_expr_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#from_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFrom_list(OBMySQLParser.From_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_references}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_references(OBMySQLParser.Table_referencesContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_references_paren}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_references_paren(OBMySQLParser.Table_references_parenContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_reference}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_reference(OBMySQLParser.Table_referenceContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_factor(OBMySQLParser.Table_factorContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tbl_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTbl_name(OBMySQLParser.Tbl_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#dml_table_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDml_table_name(OBMySQLParser.Dml_table_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#seed}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSeed(OBMySQLParser.SeedContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sample_percent}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSample_percent(OBMySQLParser.Sample_percentContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sample_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSample_clause(OBMySQLParser.Sample_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_subquery}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_subquery(OBMySQLParser.Table_subqueryContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_subquery_alias}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_subquery_alias(OBMySQLParser.Table_subquery_aliasContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#use_partition}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUse_partition(OBMySQLParser.Use_partitionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#external_table_partitions}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExternal_table_partitions(OBMySQLParser.External_table_partitionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#external_table_partition}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExternal_table_partition(OBMySQLParser.External_table_partitionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#use_flashback}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUse_flashback(OBMySQLParser.Use_flashbackContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_hint_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_hint_type(OBMySQLParser.Index_hint_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#key_or_index}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitKey_or_index(OBMySQLParser.Key_or_indexContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_hint_scope}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_hint_scope(OBMySQLParser.Index_hint_scopeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_element(OBMySQLParser.Index_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_list(OBMySQLParser.Index_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_hint_definition}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_hint_definition(OBMySQLParser.Index_hint_definitionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_hint_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_hint_list(OBMySQLParser.Index_hint_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_factor(OBMySQLParser.Relation_factorContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_with_star_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_with_star_list(OBMySQLParser.Relation_with_star_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_factor_with_star}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_factor_with_star(OBMySQLParser.Relation_factor_with_starContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#normal_relation_factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNormal_relation_factor(OBMySQLParser.Normal_relation_factorContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#dot_relation_factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDot_relation_factor(OBMySQLParser.Dot_relation_factorContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_factor_in_hint}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_factor_in_hint(OBMySQLParser.Relation_factor_in_hintContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#qb_name_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQb_name_option(OBMySQLParser.Qb_name_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_factor_in_hint_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_factor_in_hint_list(OBMySQLParser.Relation_factor_in_hint_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_sep_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_sep_option(OBMySQLParser.Relation_sep_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_factor_in_pq_hint}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_factor_in_pq_hint(OBMySQLParser.Relation_factor_in_pq_hintContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_factor_in_leading_hint}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_factor_in_leading_hint(OBMySQLParser.Relation_factor_in_leading_hintContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_factor_in_leading_hint_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_factor_in_leading_hint_list(OBMySQLParser.Relation_factor_in_leading_hint_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_factor_in_leading_hint_list_entry}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_factor_in_leading_hint_list_entry(OBMySQLParser.Relation_factor_in_leading_hint_list_entryContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_factor_in_use_join_hint_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_factor_in_use_join_hint_list(OBMySQLParser.Relation_factor_in_use_join_hint_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tracing_num_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTracing_num_list(OBMySQLParser.Tracing_num_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#join_condition}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJoin_condition(OBMySQLParser.Join_conditionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#joined_table}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJoined_table(OBMySQLParser.Joined_tableContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#natural_join_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNatural_join_type(OBMySQLParser.Natural_join_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#inner_join_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInner_join_type(OBMySQLParser.Inner_join_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#outer_join_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOuter_join_type(OBMySQLParser.Outer_join_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#with_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWith_clause(OBMySQLParser.With_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#with_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWith_list(OBMySQLParser.With_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#common_table_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommon_table_expr(OBMySQLParser.Common_table_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alias_name_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlias_name_list(OBMySQLParser.Alias_name_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_alias_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_alias_name(OBMySQLParser.Column_alias_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_values_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_values_clause(OBMySQLParser.Table_values_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#table_values_clause_with_order_by_and_limit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTable_values_clause_with_order_by_and_limit(OBMySQLParser.Table_values_clause_with_order_by_and_limitContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#values_row_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitValues_row_list(OBMySQLParser.Values_row_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#row_value}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRow_value(OBMySQLParser.Row_valueContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#analyze_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAnalyze_stmt(OBMySQLParser.Analyze_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#analyze_statistics_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAnalyze_statistics_clause(OBMySQLParser.Analyze_statistics_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_analyze_for_clause_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_analyze_for_clause_list(OBMySQLParser.Opt_analyze_for_clause_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_analyze_for_clause_element}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_analyze_for_clause_element(OBMySQLParser.Opt_analyze_for_clause_elementContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sample_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSample_option(OBMySQLParser.Sample_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#for_all}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFor_all(OBMySQLParser.For_allContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#size_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSize_clause(OBMySQLParser.Size_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#for_columns}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFor_columns(OBMySQLParser.For_columnsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#for_columns_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFor_columns_list(OBMySQLParser.For_columns_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#for_columns_item}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFor_columns_item(OBMySQLParser.For_columns_itemContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_clause(OBMySQLParser.Column_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_outline_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_outline_stmt(OBMySQLParser.Create_outline_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_outline_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_outline_stmt(OBMySQLParser.Alter_outline_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_outline_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_outline_stmt(OBMySQLParser.Drop_outline_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#explain_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExplain_stmt(OBMySQLParser.Explain_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#explain_or_desc}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExplain_or_desc(OBMySQLParser.Explain_or_descContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#explainable_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExplainable_stmt(OBMySQLParser.Explainable_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#format_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFormat_name(OBMySQLParser.Format_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#show_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitShow_stmt(OBMySQLParser.Show_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#check_table_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCheck_table_options(OBMySQLParser.Check_table_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#check_table_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCheck_table_option(OBMySQLParser.Check_table_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#get_diagnostics_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGet_diagnostics_stmt(OBMySQLParser.Get_diagnostics_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#get_condition_diagnostics_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGet_condition_diagnostics_stmt(OBMySQLParser.Get_condition_diagnostics_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#condition_arg}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCondition_arg(OBMySQLParser.Condition_argContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#condition_information_item_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCondition_information_item_list(OBMySQLParser.Condition_information_item_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#condition_information_item}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCondition_information_item(OBMySQLParser.Condition_information_itemContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#condition_information_item_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCondition_information_item_name(OBMySQLParser.Condition_information_item_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#get_statement_diagnostics_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGet_statement_diagnostics_stmt(OBMySQLParser.Get_statement_diagnostics_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#statement_information_item_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStatement_information_item_list(OBMySQLParser.Statement_information_item_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#statement_information_item}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStatement_information_item(OBMySQLParser.Statement_information_itemContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#statement_information_item_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStatement_information_item_name(OBMySQLParser.Statement_information_item_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#databases_or_schemas}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDatabases_or_schemas(OBMySQLParser.Databases_or_schemasContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_for_grant_user}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_for_grant_user(OBMySQLParser.Opt_for_grant_userContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_storage}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_storage(OBMySQLParser.Opt_storageContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#columns_or_fields}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumns_or_fields(OBMySQLParser.Columns_or_fieldsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#database_or_schema}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDatabase_or_schema(OBMySQLParser.Database_or_schemaContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#index_or_indexes_or_keys}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex_or_indexes_or_keys(OBMySQLParser.Index_or_indexes_or_keysContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#from_or_in}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFrom_or_in(OBMySQLParser.From_or_inContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#calibration_info_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCalibration_info_list(OBMySQLParser.Calibration_info_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_show_engine}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_show_engine(OBMySQLParser.Opt_show_engineContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#help_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHelp_stmt(OBMySQLParser.Help_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_tablespace_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_tablespace_stmt(OBMySQLParser.Create_tablespace_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#permanent_tablespace}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPermanent_tablespace(OBMySQLParser.Permanent_tablespaceContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#permanent_tablespace_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPermanent_tablespace_option(OBMySQLParser.Permanent_tablespace_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_tablespace_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_tablespace_option(OBMySQLParser.Opt_tablespace_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_tablespace_engine}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_tablespace_engine(OBMySQLParser.Opt_tablespace_engineContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_tablespace_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_tablespace_stmt(OBMySQLParser.Drop_tablespace_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_tablespace_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_tablespace_options(OBMySQLParser.Alter_tablespace_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_tablespace_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_tablespace_action(OBMySQLParser.Alter_tablespace_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_tablespace_actions}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_tablespace_actions(OBMySQLParser.Alter_tablespace_actionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_alter_tablespace_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_alter_tablespace_options(OBMySQLParser.Opt_alter_tablespace_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_alter_tablespace_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_alter_tablespace_option(OBMySQLParser.Opt_alter_tablespace_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_tablespace_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_tablespace_stmt(OBMySQLParser.Alter_tablespace_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#rotate_master_key_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRotate_master_key_stmt(OBMySQLParser.Rotate_master_key_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#permanent_tablespace_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPermanent_tablespace_options(OBMySQLParser.Permanent_tablespace_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_tablespace_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_tablespace_options(OBMySQLParser.Opt_tablespace_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_user_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_user_stmt(OBMySQLParser.Create_user_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#user_specification_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUser_specification_list(OBMySQLParser.User_specification_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#user_specification}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUser_specification(OBMySQLParser.User_specificationContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#user_specification_without_password}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUser_specification_without_password(OBMySQLParser.User_specification_without_passwordContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#user_specification_with_password}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUser_specification_with_password(OBMySQLParser.User_specification_with_passwordContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#require_specification}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRequire_specification(OBMySQLParser.Require_specificationContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#resource_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitResource_option_list(OBMySQLParser.Resource_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#resource_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitResource_option(OBMySQLParser.Resource_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tls_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTls_option_list(OBMySQLParser.Tls_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tls_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTls_option(OBMySQLParser.Tls_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#user}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUser(OBMySQLParser.UserContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_host_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_host_name(OBMySQLParser.Opt_host_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#user_host_or_current_user}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUser_host_or_current_user(OBMySQLParser.User_host_or_current_userContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#user_with_host_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUser_with_host_name(OBMySQLParser.User_with_host_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#password}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPassword(OBMySQLParser.PasswordContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_user_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_user_stmt(OBMySQLParser.Drop_user_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#user_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUser_list(OBMySQLParser.User_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_role_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_role_stmt(OBMySQLParser.Create_role_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#role_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRole_list(OBMySQLParser.Role_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#user_specification_without_password_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUser_specification_without_password_list(OBMySQLParser.User_specification_without_password_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_role_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_role_stmt(OBMySQLParser.Drop_role_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#role_with_host}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRole_with_host(OBMySQLParser.Role_with_hostContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#role}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRole(OBMySQLParser.RoleContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_password_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_password_stmt(OBMySQLParser.Set_password_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_for_user}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_for_user(OBMySQLParser.Opt_for_userContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#rename_user_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRename_user_stmt(OBMySQLParser.Rename_user_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#rename_info}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRename_info(OBMySQLParser.Rename_infoContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#rename_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRename_list(OBMySQLParser.Rename_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lock_user_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLock_user_stmt(OBMySQLParser.Lock_user_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lock_spec_mysql57}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLock_spec_mysql57(OBMySQLParser.Lock_spec_mysql57Context ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lock_tables_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLock_tables_stmt(OBMySQLParser.Lock_tables_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#unlock_tables_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnlock_tables_stmt(OBMySQLParser.Unlock_tables_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lock_table_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLock_table_list(OBMySQLParser.Lock_table_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lock_table}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLock_table(OBMySQLParser.Lock_tableContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lock_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLock_type(OBMySQLParser.Lock_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_sequence_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_sequence_stmt(OBMySQLParser.Create_sequence_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sequence_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSequence_option_list(OBMySQLParser.Sequence_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sequence_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSequence_option(OBMySQLParser.Sequence_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#simple_num}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSimple_num(OBMySQLParser.Simple_numContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_sequence_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_sequence_stmt(OBMySQLParser.Drop_sequence_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_sequence_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_sequence_stmt(OBMySQLParser.Alter_sequence_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_dblink_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_dblink_stmt(OBMySQLParser.Create_dblink_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_dblink_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_dblink_stmt(OBMySQLParser.Drop_dblink_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#begin_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBegin_stmt(OBMySQLParser.Begin_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#xa_begin_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitXa_begin_stmt(OBMySQLParser.Xa_begin_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#xa_end_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitXa_end_stmt(OBMySQLParser.Xa_end_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#xa_prepare_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitXa_prepare_stmt(OBMySQLParser.Xa_prepare_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#xa_commit_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitXa_commit_stmt(OBMySQLParser.Xa_commit_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#xa_rollback_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitXa_rollback_stmt(OBMySQLParser.Xa_rollback_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#commit_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommit_stmt(OBMySQLParser.Commit_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#rollback_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRollback_stmt(OBMySQLParser.Rollback_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#kill_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitKill_stmt(OBMySQLParser.Kill_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#grant_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGrant_stmt(OBMySQLParser.Grant_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#grant_privileges}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGrant_privileges(OBMySQLParser.Grant_privilegesContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#role_or_priv_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRole_or_priv_list(OBMySQLParser.Role_or_priv_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#role_or_priv}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRole_or_priv(OBMySQLParser.Role_or_privContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#object_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitObject_type(OBMySQLParser.Object_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#priv_level}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPriv_level(OBMySQLParser.Priv_levelContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#grant_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGrant_options(OBMySQLParser.Grant_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#revoke_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRevoke_stmt(OBMySQLParser.Revoke_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#prepare_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrepare_stmt(OBMySQLParser.Prepare_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#stmt_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStmt_name(OBMySQLParser.Stmt_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#preparable_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPreparable_stmt(OBMySQLParser.Preparable_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#variable_set_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariable_set_stmt(OBMySQLParser.Variable_set_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sys_var_and_val_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSys_var_and_val_list(OBMySQLParser.Sys_var_and_val_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#var_and_val_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVar_and_val_list(OBMySQLParser.Var_and_val_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_expr_or_default}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_expr_or_default(OBMySQLParser.Set_expr_or_defaultContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#var_and_val}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVar_and_val(OBMySQLParser.Var_and_valContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sys_var_and_val}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSys_var_and_val(OBMySQLParser.Sys_var_and_valContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#scope_or_scope_alias}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitScope_or_scope_alias(OBMySQLParser.Scope_or_scope_aliasContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#to_or_eq}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTo_or_eq(OBMySQLParser.To_or_eqContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_role_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_role_stmt(OBMySQLParser.Set_role_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#default_set_role_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDefault_set_role_clause(OBMySQLParser.Default_set_role_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_role_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_role_clause(OBMySQLParser.Set_role_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#execute_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExecute_stmt(OBMySQLParser.Execute_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#argument_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitArgument_list(OBMySQLParser.Argument_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#argument}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitArgument(OBMySQLParser.ArgumentContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#deallocate_prepare_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDeallocate_prepare_stmt(OBMySQLParser.Deallocate_prepare_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#deallocate_or_drop}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDeallocate_or_drop(OBMySQLParser.Deallocate_or_dropContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#truncate_table_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTruncate_table_stmt(OBMySQLParser.Truncate_table_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_stmt(OBMySQLParser.Audit_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_or_noaudit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_or_noaudit(OBMySQLParser.Audit_or_noauditContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_clause(OBMySQLParser.Audit_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_operation_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_operation_clause(OBMySQLParser.Audit_operation_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_all_shortcut_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_all_shortcut_list(OBMySQLParser.Audit_all_shortcut_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#auditing_on_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAuditing_on_clause(OBMySQLParser.Auditing_on_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_user_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_user_list(OBMySQLParser.Audit_user_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_user_with_host_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_user_with_host_name(OBMySQLParser.Audit_user_with_host_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_user}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_user(OBMySQLParser.Audit_userContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#auditing_by_user_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAuditing_by_user_clause(OBMySQLParser.Auditing_by_user_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#op_audit_tail_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOp_audit_tail_clause(OBMySQLParser.Op_audit_tail_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_by_session_access_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_by_session_access_option(OBMySQLParser.Audit_by_session_access_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_whenever_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_whenever_option(OBMySQLParser.Audit_whenever_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#audit_all_shortcut}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAudit_all_shortcut(OBMySQLParser.Audit_all_shortcutContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#rename_table_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRename_table_stmt(OBMySQLParser.Rename_table_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#rename_table_actions}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRename_table_actions(OBMySQLParser.Rename_table_actionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#rename_table_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRename_table_action(OBMySQLParser.Rename_table_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_table_stmt_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_table_stmt_list(OBMySQLParser.Alter_table_stmt_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_table_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_table_stmt(OBMySQLParser.Alter_table_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_external_table_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_external_table_action(OBMySQLParser.Alter_external_table_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#add_external_table_partition_actions}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAdd_external_table_partition_actions(OBMySQLParser.Add_external_table_partition_actionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#add_external_table_partition_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAdd_external_table_partition_action(OBMySQLParser.Add_external_table_partition_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_table_actions}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_table_actions(OBMySQLParser.Alter_table_actionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_table_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_table_action(OBMySQLParser.Alter_table_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_constraint_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_constraint_option(OBMySQLParser.Alter_constraint_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_partition_option(OBMySQLParser.Alter_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_partition_range_or_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_partition_range_or_list(OBMySQLParser.Opt_partition_range_or_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_tg_partition_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_tg_partition_option(OBMySQLParser.Alter_tg_partition_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_partition_name_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_partition_name_list(OBMySQLParser.Drop_partition_name_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#modify_partition_info}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitModify_partition_info(OBMySQLParser.Modify_partition_infoContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#modify_tg_partition_info}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitModify_tg_partition_info(OBMySQLParser.Modify_tg_partition_infoContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_index_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_index_option(OBMySQLParser.Alter_index_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#visibility_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVisibility_option(OBMySQLParser.Visibility_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_column_group_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_column_group_action(OBMySQLParser.Alter_column_group_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_column_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_column_option(OBMySQLParser.Alter_column_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_tablegroup_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_tablegroup_option(OBMySQLParser.Alter_tablegroup_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_column_behavior}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_column_behavior(OBMySQLParser.Alter_column_behaviorContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#flashback_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFlashback_stmt(OBMySQLParser.Flashback_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#purge_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPurge_stmt(OBMySQLParser.Purge_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#optimize_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOptimize_stmt(OBMySQLParser.Optimize_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#dump_memory_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDump_memory_stmt(OBMySQLParser.Dump_memory_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_system_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_system_stmt(OBMySQLParser.Alter_system_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_sql_throttle_using_cond}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_sql_throttle_using_cond(OBMySQLParser.Opt_sql_throttle_using_condContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sql_throttle_one_or_more_metrics}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSql_throttle_one_or_more_metrics(OBMySQLParser.Sql_throttle_one_or_more_metricsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sql_throttle_metric}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSql_throttle_metric(OBMySQLParser.Sql_throttle_metricContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#change_tenant_name_or_tenant_id}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitChange_tenant_name_or_tenant_id(OBMySQLParser.Change_tenant_name_or_tenant_idContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cache_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCache_type(OBMySQLParser.Cache_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#balance_task_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBalance_task_type(OBMySQLParser.Balance_task_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tenant_list_tuple}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTenant_list_tuple(OBMySQLParser.Tenant_list_tupleContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tenant_name_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTenant_name_list(OBMySQLParser.Tenant_name_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#backup_tenant_name_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBackup_tenant_name_list(OBMySQLParser.Backup_tenant_name_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#flush_scope}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFlush_scope(OBMySQLParser.Flush_scopeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#server_info_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitServer_info_list(OBMySQLParser.Server_info_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#server_info}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitServer_info(OBMySQLParser.Server_infoContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#shared_storage_info}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitShared_storage_info(OBMySQLParser.Shared_storage_infoContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#server_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitServer_action(OBMySQLParser.Server_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#server_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitServer_list(OBMySQLParser.Server_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#zone_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitZone_action(OBMySQLParser.Zone_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ip_port}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIp_port(OBMySQLParser.Ip_portContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#zone_desc}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitZone_desc(OBMySQLParser.Zone_descContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#policy_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPolicy_name(OBMySQLParser.Policy_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#server_or_zone}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitServer_or_zone(OBMySQLParser.Server_or_zoneContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#add_or_alter_zone_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAdd_or_alter_zone_option(OBMySQLParser.Add_or_alter_zone_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#add_or_alter_zone_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAdd_or_alter_zone_options(OBMySQLParser.Add_or_alter_zone_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_or_change_or_modify}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_or_change_or_modify(OBMySQLParser.Alter_or_change_or_modifyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_path_info}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_path_info(OBMySQLParser.Opt_path_infoContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_storage_use_for}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_storage_use_for(OBMySQLParser.Opt_storage_use_forContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_scope_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_scope_type(OBMySQLParser.Opt_scope_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#partition_id_desc}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPartition_id_desc(OBMySQLParser.Partition_id_descContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ls}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLs(OBMySQLParser.LsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ls_server_or_server_or_zone_or_tenant}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLs_server_or_server_or_zone_or_tenant(OBMySQLParser.Ls_server_or_server_or_zone_or_tenantContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#migrate_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMigrate_action(OBMySQLParser.Migrate_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#change_actions}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitChange_actions(OBMySQLParser.Change_actionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#change_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitChange_action(OBMySQLParser.Change_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#replica_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReplica_type(OBMySQLParser.Replica_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#memstore_percent}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMemstore_percent(OBMySQLParser.Memstore_percentContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#suspend_or_resume}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSuspend_or_resume(OBMySQLParser.Suspend_or_resumeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#baseline_id_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBaseline_id_expr(OBMySQLParser.Baseline_id_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sql_id_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSql_id_expr(OBMySQLParser.Sql_id_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#sql_id_or_schema_id_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSql_id_or_schema_id_expr(OBMySQLParser.Sql_id_or_schema_id_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#namespace_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNamespace_expr(OBMySQLParser.Namespace_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#baseline_asgn_factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBaseline_asgn_factor(OBMySQLParser.Baseline_asgn_factorContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#tenant_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTenant_name(OBMySQLParser.Tenant_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cache_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCache_name(OBMySQLParser.Cache_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#file_id}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFile_id(OBMySQLParser.File_idContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cancel_task_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCancel_task_type(OBMySQLParser.Cancel_task_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_system_set_parameter_actions}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_system_set_parameter_actions(OBMySQLParser.Alter_system_set_parameter_actionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_system_set_parameter_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_system_set_parameter_action(OBMySQLParser.Alter_system_set_parameter_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_system_settp_actions}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_system_settp_actions(OBMySQLParser.Alter_system_settp_actionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#settp_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSettp_option(OBMySQLParser.Settp_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cluster_role}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCluster_role(OBMySQLParser.Cluster_roleContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#partition_role}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPartition_role(OBMySQLParser.Partition_roleContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ls_role}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLs_role(OBMySQLParser.Ls_roleContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#upgrade_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUpgrade_action(OBMySQLParser.Upgrade_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mock_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMock_stmt(OBMySQLParser.Mock_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#plugin_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPlugin_name(OBMySQLParser.Plugin_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#install_plugin_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInstall_plugin_stmt(OBMySQLParser.Install_plugin_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#uninstall_plugin_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUninstall_plugin_stmt(OBMySQLParser.Uninstall_plugin_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#flush_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFlush_stmt(OBMySQLParser.Flush_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#flush_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFlush_options(OBMySQLParser.Flush_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#flush_options_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFlush_options_list(OBMySQLParser.Flush_options_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#flush_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFlush_option(OBMySQLParser.Flush_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#handler_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHandler_stmt(OBMySQLParser.Handler_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#handler_read_or_scan}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHandler_read_or_scan(OBMySQLParser.Handler_read_or_scanContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#handler_scan_function}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHandler_scan_function(OBMySQLParser.Handler_scan_functionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#handler_rkey_function}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHandler_rkey_function(OBMySQLParser.Handler_rkey_functionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#handler_rkey_mode}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHandler_rkey_mode(OBMySQLParser.Handler_rkey_modeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#show_plugin_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitShow_plugin_stmt(OBMySQLParser.Show_plugin_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_server_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_server_stmt(OBMySQLParser.Create_server_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#server_options_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitServer_options_list(OBMySQLParser.Server_options_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#server_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitServer_option(OBMySQLParser.Server_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_server_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_server_stmt(OBMySQLParser.Alter_server_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_server_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_server_stmt(OBMySQLParser.Drop_server_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_logfile_group_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_logfile_group_stmt(OBMySQLParser.Create_logfile_group_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#logfile_group_info}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLogfile_group_info(OBMySQLParser.Logfile_group_infoContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#add_log_file}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAdd_log_file(OBMySQLParser.Add_log_fileContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lg_undofile}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLg_undofile(OBMySQLParser.Lg_undofileContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lg_redofile}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLg_redofile(OBMySQLParser.Lg_redofileContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#logfile_group_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLogfile_group_option_list(OBMySQLParser.Logfile_group_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#logfile_group_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLogfile_group_options(OBMySQLParser.Logfile_group_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#logfile_group_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLogfile_group_option(OBMySQLParser.Logfile_group_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_ts_initial_size}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_ts_initial_size(OBMySQLParser.Opt_ts_initial_sizeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_ts_undo_buffer_size}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_ts_undo_buffer_size(OBMySQLParser.Opt_ts_undo_buffer_sizeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_ts_redo_buffer_size}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_ts_redo_buffer_size(OBMySQLParser.Opt_ts_redo_buffer_sizeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_ts_nodegroup}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_ts_nodegroup(OBMySQLParser.Opt_ts_nodegroupContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_ts_comment}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_ts_comment(OBMySQLParser.Opt_ts_commentContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_logfile_group_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_logfile_group_stmt(OBMySQLParser.Alter_logfile_group_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_logfile_group_info}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_logfile_group_info(OBMySQLParser.Alter_logfile_group_infoContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_logfile_group_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_logfile_group_option_list(OBMySQLParser.Alter_logfile_group_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_logfile_group_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_logfile_group_options(OBMySQLParser.Alter_logfile_group_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_logfile_group_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_logfile_group_option(OBMySQLParser.Alter_logfile_group_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_logfile_group_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_logfile_group_stmt(OBMySQLParser.Drop_logfile_group_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_ts_options_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_ts_options_list(OBMySQLParser.Drop_ts_options_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_ts_options}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_ts_options(OBMySQLParser.Drop_ts_optionsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#drop_ts_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDrop_ts_option(OBMySQLParser.Drop_ts_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#ts_wait}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTs_wait(OBMySQLParser.Ts_waitContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_ts_engine}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_ts_engine(OBMySQLParser.Opt_ts_engineContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#method_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethod_opt(OBMySQLParser.Method_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#method_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethod_list(OBMySQLParser.Method_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#method}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethod(OBMySQLParser.MethodContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_names_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_names_stmt(OBMySQLParser.Set_names_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_charset_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_charset_stmt(OBMySQLParser.Set_charset_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#set_transaction_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSet_transaction_stmt(OBMySQLParser.Set_transaction_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#transaction_characteristics}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTransaction_characteristics(OBMySQLParser.Transaction_characteristicsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#transaction_access_mode}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTransaction_access_mode(OBMySQLParser.Transaction_access_modeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#isolation_level}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIsolation_level(OBMySQLParser.Isolation_levelContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_encrypt_key}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_encrypt_key(OBMySQLParser.Opt_encrypt_keyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#create_savepoint_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreate_savepoint_stmt(OBMySQLParser.Create_savepoint_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#rollback_savepoint_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRollback_savepoint_stmt(OBMySQLParser.Rollback_savepoint_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#release_savepoint_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelease_savepoint_stmt(OBMySQLParser.Release_savepoint_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#alter_cluster_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAlter_cluster_stmt(OBMySQLParser.Alter_cluster_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cluster_define}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCluster_define(OBMySQLParser.Cluster_defineContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cluster_option_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCluster_option_list(OBMySQLParser.Cluster_option_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cluster_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCluster_option(OBMySQLParser.Cluster_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cluster_action}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCluster_action(OBMySQLParser.Cluster_actionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#switchover_cluster_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSwitchover_cluster_stmt(OBMySQLParser.Switchover_cluster_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#commit_switchover_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCommit_switchover_clause(OBMySQLParser.Commit_switchover_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#protection_mode_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProtection_mode_stmt(OBMySQLParser.Protection_mode_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#protection_mode_option}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProtection_mode_option(OBMySQLParser.Protection_mode_optionContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#cluster_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCluster_name(OBMySQLParser.Cluster_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#disconnect_cluster_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDisconnect_cluster_stmt(OBMySQLParser.Disconnect_cluster_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#var_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVar_name(OBMySQLParser.Var_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#new_or_old}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNew_or_old(OBMySQLParser.New_or_oldContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#new_or_old_column_ref}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNew_or_old_column_ref(OBMySQLParser.New_or_old_column_refContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_name(OBMySQLParser.Column_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#relation_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelation_name(OBMySQLParser.Relation_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#function_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFunction_name(OBMySQLParser.Function_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#column_label}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColumn_label(OBMySQLParser.Column_labelContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#date_unit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDate_unit(OBMySQLParser.Date_unitContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#service_name_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitService_name_stmt(OBMySQLParser.Service_name_stmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#service_op}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitService_op(OBMySQLParser.Service_opContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_table_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_table_expr(OBMySQLParser.Json_table_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mock_jt_on_error_on_empty}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMock_jt_on_error_on_empty(OBMySQLParser.Mock_jt_on_error_on_emptyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#jt_column_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJt_column_list(OBMySQLParser.Jt_column_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_table_column_def}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_table_column_def(OBMySQLParser.Json_table_column_defContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_table_ordinality_column_def}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_table_ordinality_column_def(OBMySQLParser.Json_table_ordinality_column_defContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_table_exists_column_def}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_table_exists_column_def(OBMySQLParser.Json_table_exists_column_defContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_table_value_column_def}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_table_value_column_def(OBMySQLParser.Json_table_value_column_defContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_table_nested_column_def}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_table_nested_column_def(OBMySQLParser.Json_table_nested_column_defContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_value_on_empty_or_error_or_mismatch}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_value_on_empty_or_error_or_mismatch(OBMySQLParser.Opt_value_on_empty_or_error_or_mismatchContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_on_mismatch}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_on_mismatch(OBMySQLParser.Opt_on_mismatchContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#vec_index_params}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVec_index_params(OBMySQLParser.Vec_index_paramsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#vec_index_param}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVec_index_param(OBMySQLParser.Vec_index_paramContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#vec_index_param_value}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVec_index_param_value(OBMySQLParser.Vec_index_param_valueContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_query_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_query_expr(OBMySQLParser.Json_query_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_query_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_query_opt(OBMySQLParser.Json_query_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#scalars_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitScalars_opt(OBMySQLParser.Scalars_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#wrapper_opts}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWrapper_opts(OBMySQLParser.Wrapper_optsContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_query_on_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_query_on_opt(OBMySQLParser.Json_query_on_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_response_query}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_response_query(OBMySQLParser.Opt_response_queryContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#on_mismatch_query}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOn_mismatch_query(OBMySQLParser.On_mismatch_queryContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#on_error_query}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOn_error_query(OBMySQLParser.On_error_queryContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#on_empty_query}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOn_empty_query(OBMySQLParser.On_empty_queryContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_value_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_value_expr(OBMySQLParser.Json_value_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_value_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_value_opt(OBMySQLParser.Json_value_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_value_on_opt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_value_on_opt(OBMySQLParser.Json_value_on_optContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_on_empty_or_error}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_on_empty_or_error(OBMySQLParser.Opt_on_empty_or_errorContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#on_empty}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOn_empty(OBMySQLParser.On_emptyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#on_error}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOn_error(OBMySQLParser.On_errorContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#json_on_response}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson_on_response(OBMySQLParser.Json_on_responseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#opt_skip_index_type_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpt_skip_index_type_list(OBMySQLParser.Opt_skip_index_type_listContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#skip_index_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSkip_index_type(OBMySQLParser.Skip_index_typeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lob_chunk_size}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLob_chunk_size(OBMySQLParser.Lob_chunk_sizeContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lob_storage_parameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLob_storage_parameter(OBMySQLParser.Lob_storage_parameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lob_storage_parameters}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLob_storage_parameters(OBMySQLParser.Lob_storage_parametersContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#lob_storage_clause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLob_storage_clause(OBMySQLParser.Lob_storage_clauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#unreserved_keyword}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnreserved_keyword(OBMySQLParser.Unreserved_keywordContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#unreserved_keyword_for_role_name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnreserved_keyword_for_role_name(OBMySQLParser.Unreserved_keyword_for_role_nameContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#unreserved_keyword_normal}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnreserved_keyword_normal(OBMySQLParser.Unreserved_keyword_normalContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#unreserved_keyword_special}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnreserved_keyword_special(OBMySQLParser.Unreserved_keyword_specialContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#unreserved_keyword_extra}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnreserved_keyword_extra(OBMySQLParser.Unreserved_keyword_extraContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#unreserved_keyword_ambiguous_roles}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnreserved_keyword_ambiguous_roles(OBMySQLParser.Unreserved_keyword_ambiguous_rolesContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#mysql_reserved_keyword}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMysql_reserved_keyword(OBMySQLParser.Mysql_reserved_keywordContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#empty}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEmpty(OBMySQLParser.EmptyContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#forward_expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitForward_expr(OBMySQLParser.Forward_exprContext ctx);
	/**
	 * Visit a parse tree produced by {@link OBMySQLParser#forward_sql_stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitForward_sql_stmt(OBMySQLParser.Forward_sql_stmtContext ctx);
}